package com.fac.service;

import com.fac.dto.PaymentCreateDTO;
import com.fac.dto.PaymentPageQueryDTO;
import com.fac.dto.PaymentAdminPageQueryDTO;
import com.fac.dto.PaymentRefundDTO;
import com.fac.result.PageResult;
import com.fac.vo.PaymentCreateVO;
import com.fac.vo.PaymentVO;
import com.fac.vo.PaymentRefundVO;

public interface PaymentRecordService {

    /**
     * 创建支付订单
     *
     * @param createDTO 创建信息
     * @return 创建结果
     */
    PaymentCreateVO create(PaymentCreateDTO createDTO);

    /**
     * 分页查询支付记录
     *
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    PageResult pageQuery(PaymentPageQueryDTO queryDTO);

    /**
     * 管理端分页查询支付记录
     *
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    PageResult adminPageQuery(PaymentAdminPageQueryDTO queryDTO);

    /**
     * 退还押金
     *
     * @param refundDTO 退款信息
     * @return 退款结果
     */
    PaymentRefundVO refund(PaymentRefundDTO refundDTO);
} 